// pages/set_user_info/index.js
const defaultAvatarUrl = 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132'
// 后端配置
import {
  BasicUrl,
  request
} from "../../api/config.js"
Page({
  /**
   * 页面的初始数据
   */
  data: {
    BasicUrl: '',
    avatar: defaultAvatarUrl,
    from: {
      avatar: '',
      user_name: '',
      userID: 108152,
      sex: 1,
      reg_time: "",
      name: '',
      user_id: ''
    },
    showTime: false,
    checkPhone: false
  },
  // 修改用户信息
  async edit() {
    console.log(this.data.from);
    if (this.data.checkPhone) return
    wx.showLoading({
      title: '修改中...',
    })
    let user_id = JSON.parse(wx.getStorageSync('user_info')).user_id
    await request('/api/user/wx_edit_user_info', 'post',{user_id,user_info:this.data.from}, true).then(({data}) => {
      console.log(data);
      if(data.code == 200){
        wx.showToast({
          title: '修改成功',
          icon:"success"
        })
      this.get_user_info()
      wx.navigateBack()
      }else{
        wx.showToast({
          title: '修改失败',
          icon:'error'
        })
      }
    })
    wx.hideLoading()

  },
   // 获取用户信息
  async get_user_info() {
   await request('/api/user/wx_get_user_info', 'post', {}, true).then(({
      data
    }) => {
      console.log(data);
      if (data.code == 200) {
        // // 用户信息页存入缓存
        wx.setStorageSync('user_info', JSON.stringify(data.data))
        this.setData({
          from:data.data
        })
      } else {
        wx.showToast({
          title: '获取用户信息失败',
        })
      }
    })
  },
  onChooseAvatar(e){
    const { avatarUrl } = e.detail 
    this.setData({
      'from.avatar':avatarUrl,
    })
    
  },
  // 选择图片
  chooseAvatar(e){
    const { avatarUrl } = e.detail 
    console.log(avatarUrl);
    let that = this
    if(avatarUrl){
      wx.uploadFile({
        url: BasicUrl + '/api/user/wx_check_avatar', 
        filePath: avatarUrl,
        name: 'file',
        formData: {
          'file_source': 'user_avatar',
          'user_id': JSON.parse(wx.getStorageSync('user_info')).user_id
        },
        success (res){
          console.log(res);
          if(res.statusCode == 200){
            wx.showToast({
              title: '修改成功',
            })
            that.get_user_info()
          }else{
            wx.showToast({
              title: '修改失败',
            })
          }
        }
      })
    }
  },
  getusername(e) {
    console.log(e);
    let value = e.type == 'blur' ? e.detail.value : e.detail
    this.setData({
      'from.user_name': value
    })
  },
  getname(e) {
    console.log(e);
    let value = e.detail
    this.setData({
      'from.name': value
    })
  },
  getphone(e) {
    console.log(e);
    let value = e.detail
    this.setData({
      'from.phone': value
    })
  },
  getsex(e) {
    console.log(e);
    let value = e.detail
    this.setData({
      'from.sex': value
    })
  },
  checkPhone(e) {
    console.log(e.detail);
    let val = e.detail.value
    if (!Number(val) || val.length < 11) {
      this.setData({
        checkPhone: true
      })
    } else {
      this.setData({
        checkPhone: false
      })
    }
  },
  onClose() {
    this.setData({
      showTime: false
    })
  },
  confirmTime(e) {
    console.log(e);
    let time = this.timestampToDate(e.detail)
    this.setData({
      'from.birthday': time
    })
    this.onClose()
  },
  // 时间戳转换
  timestampToDate(timestamp) {
    var date = new Date(timestamp); // 将时间戳转换为Date对象（以毫秒为单位）  
    var year = date.getFullYear(); // 获取年份  
    var month = date.getMonth() + 1; // 获取月份（0-11，需要加1）  
    var day = date.getDate(); // 获取日期  

    // 如果月份和日期小于10，前面补0  
    month = (month < 10 ? "0" : "") + month;
    day = (day < 10 ? "0" : "") + day;

    return year + "-" + month + "-" + day;
  },
  //  输入生日获取焦点
  inputBirthday(event) {
    console.log(event.detail);
    this.setData({
      showTime: true
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.get_user_info()
    let user_info = JSON.parse(wx.getStorageSync('user_info'))
    console.log(user_info);
    // user_info.reg_time = new Date(user_info.reg_time)
    this.setData({
      BasicUrl: BasicUrl,
      from: user_info
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})